package com.zbs.framework.common.utils;

import cn.hutool.extra.pinyin.PinyinUtil;

import java.util.Locale;

/**
 * 取得给定汉字串的首字母串,即声母串
 */
public class Pinyin4jUtil extends PinyinUtil {

    /**
     * 输入的汉字转为每个汉字的首字母
     *
     * @param str       任意汉字
     * @param isUpper   是否大小写 true 大写 false 小写
     * @return 汉字返回拼音，非汉字原样返回
     */
    public static String getFirstAllLetter(String str, boolean isUpper) {
        String firstLetter = getFirstLetter(str, "");
        return isUpper ? firstLetter.toUpperCase(Locale.ROOT) : firstLetter.toLowerCase(Locale.ROOT);
    }

    /**
     * 输入的汉字转为每个汉字的首字母
     *
     * @param str       任意汉字
     * @param separator 分隔符
     * @param isUpper   是否大小写 true 大写 false 小写
     * @return 汉字返回拼音，非汉字原样返回
     */
    public static String getFirstAllLetter(String str, String separator, boolean isUpper) {
        String firstLetter = getFirstLetter(str, separator);
        return isUpper ? firstLetter.toUpperCase(Locale.ROOT) : firstLetter.toLowerCase(Locale.ROOT);
    }

    /**
     * 取得给定汉字的首字母,即声母
     *
     * @param chinese 给定的汉字
     * @return 给定汉字的声母
     */
    public static String getFirstLetter(String chinese, boolean isUpper) {
        return getFirstAllLetter(chinese,"",isUpper).substring(0,1);
    }

    public static void main(String[] args) {
        System.out.println(getFirstLetter("濮阳市",true));
    }
}



